# 19 №47223
def f(s,m):
    if s>=129: return m%2==0
    if m==0: return 0

    h = []
    h.append(f(s + 1,m-1))
    h.append(f(s * 2, m-1))
    return any(h) if (m-1)%2==0 else all(h)
print('19',[s for s in range(1,129) if f(s,2)])
print('20',[s for s in range(1,129) if f(s,3) and not f(s,1)])
print('21',[s for s in range(1,129) if f(s,4) and not f(s,2)])

#ответ 64

-----------------

# 20 №47224
def f(s,m):
    if s>=129: return m%2==0
    if m==0: return 0

    h = []
    h.append(f(s + 1,m-1))
    h.append(f(s * 2, m-1))
    return any(h) if (m-1)%2==0 else all(h)
print('19',[s for s in range(1,129) if f(s,2)])
print('20',[s for s in range(1,129) if f(s,3) and not f(s,1)])
print('21',[s for s in range(1,129) if f(s,4) and not f(s,2)])

#ответ 32 63

---------------------------

# 21 №47225
def f(s,m):
    if s>=129: return m%2==0
    if m==0: return 0

    h = []
    h.append(f(s + 1,m-1))
    h.append(f(s * 2, m-1))
    return any(h) if (m-1)%2==0 else all(h)
print('19',[s for s in range(1,129) if f(s,2)])
print('20',[s for s in range(1,129) if f(s,3) and not f(s,1)])
print('21',[s for s in range(1,129) if f(s,4) and not f(s,2)])

#ответ 62

